package com.demo.service;

import com.demo.pojo.dto.ScheduleListDTO;
import com.demo.pojo.entity.Student;

import java.util.List;
import java.util.Map;

/**
 * 学生用户服务接口
 */
public interface StudentUserService {
    
    /**
     * 学生登录
     */
    Student studentLogin(Long stuNo, String password);
    
    /**
     * 获取学生个人信息
     */
    Student getStudentInfo(Long studentId);
    
    /**
     * 更新学生个人信息
     */
    boolean updateStudentInfo(Student student);
    
    /**
     * 获取学生课表
     */
    List<ScheduleListDTO> getStudentSchedule(Long studentId, String semester);
    
    /**
     * 获取学生本周课表
     */
    List<ScheduleListDTO> getStudentWeekSchedule(Long studentId, String semester, Integer weekNo);
    
    /**
     * 获取学生今日课表
     */
    List<ScheduleListDTO> getStudentTodaySchedule(Long studentId, String semester, Integer weekNo, Integer dayOfWeek);
    
    /**
     * 获取可选课程列表
     */
    List<Map<String, Object>> getAvailableCourses(Long studentId, String semester);
    
    /**
     * 学生选课
     */
    boolean selectCourse(Long studentId, Long courseId);
    
    /**
     * 学生退课
     */
    boolean dropCourse(Long studentId, Long courseId);
    
    /**
     * 获取学生已选课程
     */
    List<Map<String, Object>> getSelectedCourses(Long studentId, String semester);
    
    /**
     * 获取学生成绩
     */
    List<Map<String, Object>> getStudentGrades(Long studentId, String semester);
    
    /**
     * 获取学生学分统计
     */
    Map<String, Object> getStudentCreditStats(Long studentId);
}
























